Skip to main content
Version: DAI 7.1

Working with Git Repositories in DAI

Eggplant DAI offers the ability to integrate with Git repositories so that you can work with suites and scripts that you store in Git. This is an alternative solution to our internal storage capability that is included in the DAI Design Agent. DAI allows you to set up a Git connection, which is a combination of a unique name to identify the Git connection, the credentials required to access your Git repository (repo), and a targeted branch or tag from your repo.

Note

Git connections cannot be managed from the DAI Design Agent. The current authoring flow remains the same, where live runs are performed against a suite in your local environment and a design agent. The Git integration comes into play where you would normally run tests against a suite uploaded to DAI internal storage and downloaded at runtime by our run agent. In this flow you would instead push your code to a remote Git repo, and it will be checked out and executed at runtime.

DAI allows using one main suite per test configuration stored in either DAI internal storage or Git. The two are not interchangeable, they cannot be used at the same time, and DAI doesn't support a direct migration path between the two. When using a Git repo, all helper suites must be located in that repo.

Set up a Git connection

You can setup a Git connection from your repo to DAI for the branch or tag you want. DAI tests the connection to the repo, and then provides you the option to save the connection information. After that, you can add your suites from the repo into DAI.

You can change your Git connection to target a different branch or tag. DAI supports tracking one branch or tag per Git connection, but you can have as many different Git connections as you need. When switching branches, DAI does not require the suites or snippets to be present in the new branch.

DAI does not delete or update existing records, or warn you if the suites and snippets are not present on the new branch until it tries to run them. At that point, the tests will report errors.

Manage Suites from your Git repo

Once you have set up your Git connection successfully, DAI identifies which suites and scripts are available. This will enable you to then add suites into DAI which ultimately enables you to utilize scripts from within these suites to create scripted test cases and add snippets to models from scripts contained in your repo.

DAI supports using a single main Git repository-based suite per model-based or suite-based Test Configurations. If you require multiple suites for setting up a test case or a model, the recommended approach is to make those suites helpers suites of your main suite, add them to the same repository, and link them in DAI. They can then be run in a test configuration as a standalone suite or as part of the main suite.

Synchronization

DAI does its best to keep in sync with your repo via background updates. This can also be expedited. More details can be found in our Synchronization page

Running tests

Once your Git connection is set up to target a branch or tag, DAI will always get the latest version of these files before running tests containing scripts from your repo so you can be sure you are working with the most recent version of your branch. If a test involves multiple steps, as part of a test configuration for example, DAI ensures the same version of the scripts is used throughout every step of the test.

Migrating from Suites Stored in DAI Internal Storage to a Git Repository and Back

DAI does not support a direct migration path for a suite stored in DAI internal storage to one stored in a Git repository. The current process is manual and would involve renaming the suite or deleting the existing suite from internal storage, uploading it to a repo, manually importing it, and manually recreating all of your test cases, models, and test configs.

If a suite is named the same in DAI internal storage and in a Git repo, you will need to rename one of the two or you will be unable to import them. Important! You cannot use suites from both during test execution. Deleting a suite stored in DAI internal storage and unlinking a suite from a Git repository will delete all related resources in DAI.

note

Due to known issues migrating suites from DAI internal storage to Git repos, we recommend transitioning to a Git repo by starting with new test suites, especially if you have a large number of suites in DAI internal storage. Deleting your suites from DAI internal storage or a Git repo connection will result in deleting associated resources, and you needing to reconfigure your tests. Improvements to the transition process are in progress to ensure a better user experience.